#ifndef CASEDB_DATABASE_ERROR_HPP
#define CASEDB_DATABASE_ERROR_HPP

#include "CaseDB/CaseDbConfig.hpp"
#include <stdexcept>

namespace CaseDB
{

/// @ingroup CaseDB
/// @brief It is the exception thrown when there are errors during database operations.
/// 
/// The text of the exception will contain details about the error occured (like descriptions, driver diagnostics, etc.
/// @warning The exception text is not internationalized: it is reported in the language of the database engine.
class CASEDB_API DatabaseError: public std::domain_error
{
public:
	/// @brief It initializes the exception object.
	/// @param text the description of the error.
	DatabaseError( const std::string& text);
};

} // namespace CaseDB

#endif // CASEDB_DATABASE_ERROR_HPP
